/*
 * @Description: 数组检测、数组的序列化和反序列化
 * @Author: zzj
 * @Date: 2021-09-06 16:00:44
 * @LastEditors: zzj
 * @LastEditTime: 2021-09-06 16:43:46
 */

//如何检测一个数组是数据类型
//instanceof  操作符
var arr = [1,2,3];   // 数组/可迭代对象
var obj_arr = {"0":1,"length":1};   // 类数值
var str = "hello"; // 类数组/可迭代对象
console.log(arr instanceof Array);
console.log(obj_arr instanceof Array);
if(!(obj_arr instanceof Array)){
    obj_arr = Array.from(obj_arr);
}
console.log(obj_arr);
//Array.isArray()  判断一个数据是否是数组
console.log(Array.isArray(arr));
console.log(typeof arr);  //引用数据类型typeof都为object

//数组的序列化和反序列化
var arr = ["lisi","wangwu",
{
    id:0,
    name:"张三",
    age:10,
    class:"一年一班",
    sex:"男"
},
{
    id:1,
    name:"李四",
    age:11,
    class:"一年一班",
    sex:"女"
},
{
    id:2,
    name:"王五",
    age:9,
    class:"一年一班",
    sex:"男"
}];
var arr_str = JSON.stringify(arr);
console.log(arr_str);
var new_arr = JSON.parse(arr_str);
console.log(new_arr);

//把这个数组封装成一个表格数据(3*tr>5*td>内容)
var num_arr = [1,2,3];
//通过toString()将数据转换成字符串,默认以逗号分割的字符串
var str = num_arr.toString();
console.log(str); //1,2,3
//可以通过join()将数组通过某个字符拼接转换成字符串
var str2 = num_arr.join("|"); //1|2|3
console.log(str2);
//可以通过split()反序列化,返回新数组
var new_arr= str.split(",");  //字符串方法
console.log(new_arr);